home *** CD-ROM | disk | FTP | other *** search
/ Kit PC World De Ampliacion De Windows 95 / Kit PC World de ampliacion de Windows 95.iso / internet / sweeper / samples / olecon~1 / controls / circle / circle.cpp < prev    next >
Text File  |  1995-11-25  |  6KB  |  204 lines

  1. //=--------------------------------------------------------------------------=
  2. // Circle.Cpp
  3. //=--------------------------------------------------------------------------=
  4. // Copyright  1995  Microsoft Corporation.  All Rights Reserved.
  5. //
  6. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
  7. // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO 
  8. // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A 
  9. // PARTICULAR PURPOSE.
  10. //=--------------------------------------------------------------------------=
  11. //
  12. // various routines et all that aren't in a file for a particular automation
  13. // object, and don't need to be in the generic ole automation code.
  14. //
  15. #define INITOBJECTS                // define the descriptions for our objects
  16.  
  17. #include "IPServer.H"
  18. #include "LocalSrv.H"
  19.  
  20.  
  21. #include "LocalObj.H"
  22. #include "CircleInterfaces.H"
  23. #include "CtrlObj.H"
  24. #include "Globals.H"
  25. #include "Util.H"
  26. #include "Resource.H"
  27.  
  28. #include "CircleCtl.H"
  29.  
  30. // needed for ASSERTs and FAIL
  31. //
  32. SZTHISFILE
  33.  
  34. //=--------------------------------------------------------------------------=
  35. // our Libid.  This should be the LIBID from the Type library, or NULL if you
  36. // don't have one.
  37. //
  38. const CLSID *g_pLibid = &LIBID_CircleObjects;
  39.  
  40.  
  41. //=--------------------------------------------------------------------------=
  42. // Localization Information
  43. //
  44. // We need the following two pieces of information:
  45. //    a. whether or not this DLL uses satellite DLLs for localization.  if
  46. //       not, then the lcidLocale is ignored, and we just always get resources
  47. //       from the server module file.
  48. //    b. the ambient LocaleID for this in-proc server.  Controls calling
  49. //       GetResourceHandle() will set this up automatically, but anybody
  50. //       else will need to be sure that it's set up properly.
  51. //
  52. VARIANT_BOOL    g_fSatelliteLocalization =  FALSE;
  53. LCID            g_lcidLocale = MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT);
  54.  
  55.  
  56. //=--------------------------------------------------------------------------=
  57. // your license key and where under HKEY_CLASSES_ROOT_LICENSES it's sitting
  58. //
  59. WCHAR g_wszLicenseKey [] = L"";
  60. WCHAR g_wszLicenseLocation [] = L"";
  61.  
  62.  
  63. //=--------------------------------------------------------------------------=
  64. // This Table describes all the automatible objects in your automation server.
  65. // See AutomationObject.H for a description of what goes in this structure
  66. // and what it's used for.
  67. //
  68. OBJECTINFO g_ObjectInfo[] = {
  69.     CONTROLOBJECT(Circle),
  70.     EMPTYOBJECT
  71. };
  72.  
  73. char g_szLibName[] = "Circle";
  74.  
  75. //=--------------------------------------------------------------------------=
  76. // IntializeLibrary
  77. //=--------------------------------------------------------------------------=
  78. // called from DllMain:DLL_PROCESS_ATTACH.  allows the user to do any sort of
  79. // initialization they want to.
  80. //
  81. // Notes:
  82. //
  83. void InitializeLibrary
  84. (
  85.     void
  86. )
  87. {
  88.     // TODO: initialization here.  control window class should be set up in
  89.     // RegisterClassData.
  90. }
  91.  
  92. //=--------------------------------------------------------------------------=
  93. // UninitializeLibrary
  94. //=--------------------------------------------------------------------------=
  95. // called from DllMain:DLL_PROCESS_DETACH.  allows the user to clean up anything
  96. // they want.
  97. //
  98. // Notes:
  99. //
  100. void UninitializeLibrary
  101. (
  102.     void
  103. )
  104. {
  105.     // TODO: uninitialization here.  control window class will be unregistered
  106.     // for you, but anything else needs to be cleaned up manually.
  107.     // Please Note that the Window 95 DLL_PROCESS_DETACH isn't quite as stable
  108.     // as NT's, and you might crash doing certain things here ...
  109. }
  110.  
  111.  
  112. //=--------------------------------------------------------------------------=
  113. // CheckForLicense
  114. //=--------------------------------------------------------------------------=
  115. // users can implement this if they wish to support Licensing.  otherwise,
  116. // they can just return TRUE all the time.
  117. //
  118. // Parameters:
  119. //    none
  120. //
  121. // Output:
  122. //    BOOL            - TRUE means the license exists, and we can proceed
  123. //                      FALSE means we're not licensed and cannot proceed
  124. //
  125. // Notes:
  126. //    - implementers should use g_wszLicenseKey and g_wszLicenseLocation
  127. //      from the top of this file to define their licensing [the former
  128. //      is necessary, the latter is recommended]
  129. //
  130. BOOL CheckForLicense
  131. (
  132.     void
  133. )
  134. {
  135.     // TODO: decide whether or not your server is licensed in this function.
  136.     // people who don't want to bother with licensing should just return
  137.     // true here always.  g_wszLicenseKey and g_wszLicenseLocation are
  138.     // used by IClassFactory2 to do some of the licensing work.
  139.     //
  140.     return TRUE;
  141. }
  142.  
  143. //=--------------------------------------------------------------------------=
  144. // RegisterData
  145. //=--------------------------------------------------------------------------=
  146. // lets the inproc server writer register any data in addition to that in
  147. // any other objects.
  148. //
  149. // Output:
  150. //    BOOL            - false means failure.
  151. //
  152. // Notes:
  153. //
  154. BOOL RegisterData
  155. (
  156.     void
  157. )
  158. {
  159.     // TODO: register any additional data here that you might wish to.
  160.     //
  161.     return TRUE;
  162. }
  163.  
  164. //=--------------------------------------------------------------------------=
  165. // UnregisterData
  166. //=--------------------------------------------------------------------------=
  167. // inproc server writers should unregister anything they registered in
  168. // RegisterData() here.
  169. //
  170. // Output:
  171. //    BOOL            - false means failure.
  172. //
  173. // Notes:
  174. //
  175. BOOL UnregisterData
  176. (
  177.     void
  178. )
  179. {
  180.     // TODO: any additional registry cleanup that you might wish to do.
  181.     //
  182.     return TRUE;
  183. }
  184.  
  185.  
  186. //=--------------------------------------------------------------------------=
  187. // CRT stubs
  188. //=--------------------------------------------------------------------------=
  189. // these two things are here so the CRTs aren't needed. this is good.
  190. //
  191. // basically, the CRTs define this to suck in a bunch of stuff.  we'll just
  192. // define them here so we don't get an unresolved external.
  193. //
  194. // TODO: if you are going to use the CRTs, then remove this line.
  195. //
  196. extern "C" int __cdecl _fltused = 1;
  197.  
  198. extern "C" int _cdecl _purecall(void)
  199. {
  200.   FAIL("Pure virtual function called.");
  201.   return 0;
  202. }
  203.  
  204.